package com.xyy.saas.payment.service;

import com.xyy.saas.payment.dao.model.SeparateOrder;

import java.util.Date;
import java.util.List;

/**
 * (SeparateOrder)表服务接口
 *
 * @author makejava
 * @since 2020-10-09 10:23:34
 */
public interface SeparateOrderService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    SeparateOrder queryById(Long id);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit 查询条数
     * @return 对象列表
     */
    List<SeparateOrder> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param separateOrder 实例对象
     * @return 实例对象
     */
    SeparateOrder insert(SeparateOrder separateOrder);



    /**
     * 通过订单号查询单条数据
     *
     * @param separateNo 转账单号
     * @return 实例对象
     */
    SeparateOrder querySeparateOrderBySeparateNo(String separateNo);

    SeparateOrder querySeparateOrderByRefundSettleNo(String refundSettleNo);

    void updateSeparateOrderStatusBySeparateNo(String separateNo, String status);

    List<SeparateOrder> querySeparateOrderByBusinessOrderNo(String businessOrderNo);

    List<SeparateOrder> selectListByBusinessOrderNos(List<String> businessOrderNos);

    SeparateOrder queryOneByBusinessOrderNo(String businessOrderNo);

    void updateSeparateNoById(String separateNo, Long id);

    /**
     * 修改数据
     *
     * @param separateOrder 实例对象
     * @return 影响行数
     */
    int update(SeparateOrder separateOrder);
}